Typical computer systems employ a plurality of different devices, or modules within devices, that perform designated functions for data processing, memory storage, instruction processing, and the like. For example, a computer system may employ a Central Processing Unit (CPU) that executes program instructions and interfaces with other components of the system, for example random access memory (RAM), a hard drive, or solid state memories. Some computer systems employ more than one processor component for dedicated functionality, such as a Graphics Processing Unit (GPU) dedicated to the processing of graphics data and/or instructions. Other computer systems may employ a plurality of general purpose processor components.
In many cases, a client device may request execution of one or more commands from an operating device. For example, a CPU device or module may request execution of a series of commands (program) from a GPU device or module, because the GPU is specifically adapted for the processing of graphics commands. In another example, a CPU may request a series of commands to be executed to store data in one or more memory devices or modules. In yet another example, a memory device or controller module may request processing of data by a CPU or GPU device or module prior to the storing of data resulting from the process.